package com.vimeworks.vimemannager.modelo.aplicacion;

// Generated Jul 17, 2012 4:05:51 PM by Hibernate Tools 3.4.0.CR1

import com.vimeworks.vimemannager.modelo.parametros.TipoDocumento;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/**
 * DocumentoActividad generated by hbm2java
 */
@Entity
@Table(name = "vm_documento_actividad", schema = "public")
public class DocumentoActividad implements java.io.Serializable {

	private BigDecimal codigo;
	private Actividad actividad;
	private TipoDocumento tipoDocumento;
	private String nombre;
	private String descripcion;
	private byte[] documento;
	private String ext;

	public DocumentoActividad() {
	}

	public DocumentoActividad(BigDecimal codigo, Actividad actividad,
			TipoDocumento tipoDocumento, String nombre) {
		this.codigo = codigo;
		this.actividad = actividad;
		this.tipoDocumento = tipoDocumento;
		this.nombre = nombre;
	}

	public DocumentoActividad(BigDecimal codigo, Actividad actividad,
			TipoDocumento tipoDocumento, String nombre, String descripcion,
			byte[] documento) {
		this.codigo = codigo;
		this.actividad = actividad;
		this.tipoDocumento = tipoDocumento;
		this.nombre = nombre;
		this.descripcion = descripcion;
		this.documento = documento;
	}

	@Id
	@Column(name = "codigo", unique = true, nullable = false, scale = 0)
	@SequenceGenerator(name="GENERADOR_CODIGO_DOC_ACT", sequenceName="VM_SEQ_COD_DOC_ACT", allocationSize=1)
	@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="GENERADOR_CODIGO_DOC_ACT")
	public BigDecimal getCodigo() {
		return this.codigo;
	}

	public void setCodigo(BigDecimal codigo) {
		this.codigo = codigo;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "actividad", nullable = false)
	public Actividad getActividad() {
		return this.actividad;
	}

	public void setActividad(Actividad actividad) {
		this.actividad = actividad;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "tipo_documento", nullable = false)
	public TipoDocumento getTipoDocumento() {
		return this.tipoDocumento;
	}

	public void setTipoDocumento(TipoDocumento tipoDocumento) {
		this.tipoDocumento = tipoDocumento;
	}

	@Column(name = "nombre", nullable = false, length = 150)
	public String getNombre() {
		return this.nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	@Column(name = "descripcion")
	public String getDescripcion() {
		return this.descripcion;
	}

	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}

	@Column(name = "documento")
	public byte[] getDocumento() {
		return this.documento;
	}

	public void setDocumento(byte[] documento) {
		this.documento = documento;
	}
	@Column(name = "ext")
	public String getExt() {
		return ext;
	}

	public void setExt(String ext) {
		this.ext = ext;
	}

}
